草庐IT

c++ - DrawText VS TextOut Win32

全部标签

c++ - CRT 和 WIN32 API

我,我想知道在Windows下哪里使用了CRT库。在形成win32API的每个dll中?仅靠visualstudio下开发的软件?换句话说,Windows操作系统是否通过使用CRT以外的其他东西来执行malloc,对文件的写入/读取等?谢谢 最佳答案 C运行时(如果是VisualStudio2010msvcr100.dll)包含C标准库函数的实现。C运行时以特定于平台的方式实现,在Windows情况下,它使用kernel32.dll(Win32API的一部分)中的函数来执行其任务。您可以使用DependencyWalker查看导出和

windows - 我的基于 Windows 的 32 位视频应用程序在 Win7/64 或 Vista/64 下无法运行?

我编写了一个依赖于VideoForWindows的程序。它在XP和Vista32位操作系统下运行良好,但现在我试图在较新的64位操作系统上运行它,它无法打开任何AVI文件。实际程序启动正常,GUI出现,“文件打开”对话框工作正常,但VFW库说它无法打开一些使用多种不同编解码器的通用AVI文件。有人知道VFW支持是否已从64位操作系统中删除,或者可能是其他原因?谢谢。 最佳答案 AnybodyknowifVFWsupporthasbeendroppedfromthe64-bitOSes?VFW在64位Windows中的工作方式与在32

java - 是否可以在 C :/Windows/System32/location at runtime? 中放置一个 myfile.file

我想在中放置一个名为myFile.file的文件C:/Windows/System32/位置。这里是使用java代码放置我的文件。当我执行我的程序时,它抛出“AccessDenied:C:/Windows/System32/myFile.file”。为什么会这样?可以放在那个位置吗? 最佳答案 该(以及许多其他)系统位置仅限于管理员用户/提升的应用程序。应用数据应存储在用户配置文件(或公共(public)应用数据)中的用户应用数据文件中。如果你真的必须写入系统文件夹,那么你需要通过UAC请求用户许可,或者使用ShellExecute

windows - Win32 API中GetMessage()的内部机制?

在windows应用程序的消息循环中,GetMessage()函数会在消息队列中没有消息时挂起应用程序线程,但是当消息队列中有消息入队时,它是如何唤醒自己的呢?休眠线程如何唤醒自己?while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);} 最佳答案 线程不会唤醒自身。向它发送消息的线程将它唤醒。发送消息的部分过程包括唤醒消息的接收者。 关于windows-Win32API中GetMess

c++ - Win32 上的 LAPACK

我一直在探索需要在矩阵上做一些工作的算法,并且我已经获得了一些可以在我的Linux机器上运行的简单代码。以下是摘录:extern"C"{//linkw/LAPACKexternvoiddpptrf_(constchar*uplo,constint*n,double*ap,int*info);externvoiddpptri_(constchar*uplo,constint*n,double*ap,int*info);//BLAStodo:getsse2upinhere(ATLAS?)externvoiddgemm_(constchar*transa,constchar*transb,c

windows - 如何在 Win32 中自定义选项卡控件的外观?

我需要使用Win32来管理选项卡控件。在Win32中管理选项卡不是很困难,但我想更改选项卡的外观,例如在选项卡上添加一个'x'按钮以关闭它,更改选项卡的颜色等。谁能告诉我是否有可用于此的开源代码?完成这项工作最简单快捷的方法是什么? 最佳答案 如果您希望自定义其外观,则需要所有者绘制选项卡控件。您可以在MSDN上找到相关信息:AboutTabControls:Owner-DrawnTabs 关于windows-如何在Win32中自定义选项卡控件的外观?,我们在StackOverflow上

c - 套接字阻塞 :( How do i get out?

这是我从microsoft中获取的服务器代码.下面是我的main,它需要运行voidimportant_code(bool);。在linux和windows上使用管道和套接字时,我总是遇到这个问题。我如何退出select()我什么时候想退出我的应用程序?假设important_code总是在套接字代码之后的同一个线程上执行。我该怎么做?我知道这是windows代码,但我在linux下也遇到了这个问题额外的测试代码:如果您在我的主函数中注释掉main2()并取消注释循环,您可以使用ctrl+c干净地退出。使用套接字代码,阻塞select阻止我这样做。我该如何解决这个问题?#pragmac

c - 如何从 ml64.exe(MSVC 64 位 X64 汇编程序)访问线程本地存储?

以下C函数尝试使用线程局部存储变量以线程安全的方式防止多核代码中的递归。但是,由于有些复杂的原因,我需要在X64汇编程序(IntelX86/AMD64位)中编写此函数,并使用VC2010中的ml64.exe进行汇编。如果我使用全局变量,我知道如何执行此操作,但我不确定如何使用具有__declspec(thread)的TLS变量正确执行此操作。__declspec(thread)inttls_VAR=0;voidnorecurse(){if(0==tls_VAR){tls_VAR=1;DoWork();tls_VAR=0;}}注意:这是VC2010踢出来的功能。但是,MASM(ml64.

c++ - C/C++ Windows - ExtractIcon() 不检索所有可执行文件的图标

这只是我正在做的事情的片段:PROCESSENTRY32pe32;pe32.dwSize=sizeof(PROCESSENTRY32);hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);if(hProcessSnap==INVALID_HANDLE_VALUE)return;if(!Process32First(hProcessSnap,&pe32)){CloseHandle(hProcessSnap);//cleanthesnapshotobjectreturn;}do{hProcess=OpenProcess(P

c# - 2 AverageTimer32 性能计数器

如何在一个应用程序(.exe)中定义和使用两个AverageTimer32性能计数器?附加说明:我正在尝试衡量在操作的不同部分花费的时间。我有一个AverageTimer32性能计数器和一个AverageBase。它有效。现在我想添加第二个AverageTimer32性能计数器。即使我添加另一个AverageBase计数器,它也不起作用。我想我弄错了什么。非常感谢代码示例。这是代码的不同部分:_AverageDuration=newPerformanceCounter();_AverageDuration.CategoryName=CategoryName;_AverageDurati